---
title: "JavaScript 到 C 程式設計"
description: "從 JavaScript 開發者視角掌握 C 程式設計語言。學習記憶體管理、指標操作、系統程式設計和底層開發。"
---

# JavaScript → C 程式設計

從 JavaScript 開發者的視角掌握 C 程式設計語言。這門綜合課程將引導你從 JavaScript 的高級抽象到 C 的強大底層控制，重點關注記憶體管理、指標操作、系統程式設計和效能最佳化。

## 為什麼學習 C？

C 是現代計算的基礎。理解 C 讓你獲得：

- **深入系統理解**: 學習電腦在硬體層面的實際工作原理
- **記憶體控制**: 掌握手動記憶體管理和指標操作
- **效能最佳化**: 編寫高效能、低開銷的程式碼
- **系統程式設計**: 建構作業系統、驅動程式和嵌入式應用
- **職業發展**: C 技能在系統程式設計、嵌入式開發和效能關鍵應用中備受重視

## 你將學到什麼

### 核心概念
- **記憶體管理**: 從 JavaScript 的垃圾回收到 C 的手動記憶體控制
- **指標**: 掌握 C 中最強大也最具挑戰性的概念
- **系統程式設計**: 理解如何直接與硬體互動
- **效能最佳化**: 編寫接近機器速度執行的程式碼

### 實踐技能
- **資料結構**: 從零實現陣列、鏈表、樹和圖
- **演算法**: 編寫高效的排序、搜尋和圖演算法
- **檔案 I/O**: 處理檔案操作和資料持久化
- **網路程式設計**: 建構網路應用和伺服器

### 高級主題
- **多執行緒**: 使用執行緒進行並發程式設計
- **系統呼叫**: 直接與作業系統互動
- **嵌入式程式設計**: 微控制器和物聯網開發
- **效能分析**: 效能分析和最佳化技術

## 學習路徑

### 模組 00: C 語言介紹
理解 C 的設計哲學及其與 JavaScript 的差異

### 模組 01: 語法對比
將 JavaScript 概念映射到 C 語法和結構

### 模組 02: 變數和記憶體
理解記憶體佈局和變數儲存

### 模組 03: 指標基礎
掌握 C 程式設計中最重要的概念

### 模組 04: 陣列和字串
使用陣列、字串和字元操作

### 模組 05: 函式和堆疊管理
理解函式呼叫、參數和堆疊操作

### 模組 06: 結構體和聯合體
建構複雜資料類型和記憶體高效的結構

### 模組 07: 動態記憶體分配
使用 malloc、free 和相關函式動態管理記憶體

### 模組 08: 檔案操作
讀取、寫入和操作檔案及資料流

### 模組 09: 演算法和資料結構
實現基礎演算法和資料結構

### 模組 10: 系統程式設計
與作業系統和硬體互動

### 模組 11: 專案實戰
建構真實世界的應用和工具

### 模組 12: 常見陷阱
避免記憶體錯誤和未定義行為

### 模組 13: 效能最佳化
編寫快速、高效和最佳化的程式碼

### 模組 14: 高級主題
探索現代 C 特性和高級技術

## 互動式學習

每個模組包括：

- **即時代碼範例**: 直接在瀏覽器中執行 C 程式碼
- **記憶體視覺化**: 檢視記憶體如何分配和使用
- **效能對比**: 比較 C 和 JavaScript 實現
- **互動式除錯**: 逐步執行程式碼
- **即時錯誤檢測**: 捕獲記憶體錯誤和未定義行為

## 前置要求

- 基礎 JavaScript 知識
- 理解程式設計基礎概念
- 熟悉命令列工具
- 無需 C 語言經驗

## 工具和環境

- **線上編譯器**: 直接在瀏覽器中執行 C 程式碼
- **記憶體視覺化器**: 檢視記憶體佈局和指標關係
- **除錯器**: 逐步執行程式碼
- **效能分析器**: 分析程式碼效能
- **錯誤檢測器**: 捕獲記憶體洩漏和未定義行為

## 開始你的旅程

從 [模組 00: C 語言介紹](./js2c/module-00-c-introduction) 開始，理解 JavaScript 和 C 的根本差異，學習如何像系統程式設計師一樣思考。

準備好深入底層程式設計的世界了嗎？讓我們開始建構你的 C 程式設計技能！ 